package mx.ipn.escom.redes.gestionarequipo.business;

import java.util.List;

import javax.inject.Named;
import javax.inject.Singleton;

import mx.ipn.escom.redes.equipo.model.Equipo;
import mx.ipn.escom.redes.gestionarequipo.dao.EquipoDao;

import org.springframework.transaction.annotation.Transactional;

@Singleton
@Named("equipoBs")
public class EquipoBs {
	
	EquipoDao equipoDao = new EquipoDao();
	
	@Transactional
	public List<Equipo> findAll(){
		System.out.println("llegue al business");
		return equipoDao.findAll();
	}
	
	@Transactional
	public Equipo findById(Integer id){
		return equipoDao.findById(id);
	}
	
	@Transactional
	public List<Equipo> findByExample(Equipo entidad){
		return equipoDao.findByExample(entidad);
	}
	
	@Transactional
	public Equipo save(Equipo entidad){
		return equipoDao.save(entidad);
	}
	
	@Transactional
	public Equipo update(Equipo entidad){
		return equipoDao.update(entidad);
	}
	
	@Transactional
	public Equipo delete(Equipo entidad){
		return equipoDao.delete(entidad);
	}
	
	@Transactional(rollbackFor = Exception.class)
	public synchronized void guardar(Equipo modelo){
		save(modelo);
	}
	
	@Transactional(rollbackFor = Exception.class)
	public void modificar(Equipo modelo){
		update(modelo);
	}
	
	@Transactional(rollbackFor = Exception.class)
	public void eliminar(Equipo modelo){
		delete(modelo);
	}

	/**
	 * @return the equipoDao
	 */
	public EquipoDao getEquipoDao() {
		return equipoDao;
	}

	/**
	 * @param equipoDao the equipoDao to set
	 */
	public void setEquipoDao(EquipoDao equipoDao) {
		this.equipoDao = equipoDao;
	}
}
